//
// Created by cktor on 2018/7/1.
//

#ifndef EPROM_EPROM_H
#define EPROM_EPROM_H

/**
 * 初始化 EPROM 部分
 * @param dev_name 文件路径信息
 * @return 0，打开文件成功；反之，其他
 */
int InitI2c_EPROM(char *dev_name);

/**
 * 关闭 EPROM 部分
 * @return 0，如果关闭成功；反之，其他
 */
int CloseI2c_EPROM(void);

/**
 * 执行写EPROM的操作
 * @param slave 暂时固定部分，当前状态下，始终为 0xa0 >> 1
 * @param regAddr 开始写地址
 * @param buf 数据内容
 * @param len 写长度
 * @return 成功写入的长度信息
 */
int
I2cWrite_EPROM(unsigned char slave, unsigned char regAddr, unsigned char *buf, unsigned char len);

/**
 * 执行读EPROM的操作
 * @param slave 暂时固定部分，当前状态下，始终为 0xa0 >> 1
 * @param regAddr 开始读地址
 * @param buf 读取到的数据长度
 * @param len 要执行读取的长度
 * @return 实际读取的程度信息
 */
int
I2cRead_EPROM(unsigned char slave, unsigned char regAddr, unsigned char *buf, unsigned char len);

#endif //EPROM_EPROM_H
